#pragma once
#include "Point.hpp"


// define types of different points
typedef Point2<int>    Point2i;
typedef Point2<float>  Point2f;
typedef Point2<double> Point2d;
typedef Point3<int>    Point3i;
typedef Point3<float>  Point3f;
typedef Point3<double> Point3d;

// define types of different vectors
typedef Point2<int>    Vec2i;
typedef Point2<float>  Vec2f;
typedef Point2<double> Vec2d;
typedef Point3<int>    Vec3i;
typedef Point3<float>  Vec3f;
typedef Point3<double> Vec3d;

// define type for data recording
typedef struct _Data
{
    double x,y,z,t,W;
} Data;


